# -*- coding: utf-8 -*-
# Author: xiantingDeng
# File: file_util.py
# Time: 9:01

import os
import time


def get_root_path():
    '''获取项目路径'''
    return os.path.dirname(os.path.dirname(os.path.dirname(__file__)))


def get_sub_dir(sub_dir_name):
    '''
    获取项目下子目录的路径
    :param sub_dir_name: 项目子目录的目录名称
    :return: 返回当前项目下子目录的绝对路径
    '''
    return os.path.join(get_root_path(), sub_dir_name)


def get_log_path():
    '''获取log日志目录'''
    return os.path.join(get_sub_dir("output"), "logs")


def get_config_path(file_name):
    '''
    获取config下的ini文件
    :param file_name: 文件名称
    :return: 返回绝对路径
    '''
    file_path = os.path.join(get_sub_dir("config"), file_name)
    return file_path


def get_data_file_path(filename):
    '''获取data目录下的文件绝对路径'''
    file_path = get_sub_dir("data")
    return os.path.join(file_path, filename)


def get_output_path(file_name):
    '''获取output下的文件目录'''
    return os.path.join(get_sub_dir("output"), file_name)


def get_output_img_path():
    '''获取img图片路径'''
    times = time.strftime("%Y-%m-%d_%H_%M_%S", time.localtime())
    img_file = get_output_path("img")
    file = os.path.join(img_file, times)
    if os.path.exists(file):
        pass
    else:
        os.mkdir(file)
    return file


def get_img_data_path(file_name):
    '''
    获取img普通的图片路径
    :param file_name: 文件名称
    :return: 返回图片路径
    '''
    file = f"{file_name}.png"
    return os.path.join(get_output_img_path(), file)


def get_img_error_file_path():
    '''
    获取img错误报告日志路径
    :param img_name: 文件名称
    :return: 返回文件路径
    '''
    img_root_dir = get_output_img_path()
    filename = "error.png"
    file_path = os.path.join(img_root_dir, filename)
    return file_path




if __name__ == '__main__':
    print(get_data_file_path("登录失败"))
